//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 + '');
write(+0.0 + 0xa);
write(+0.0 + 04);
write(+0.0 + 'hello');
write(+0.0 + 'hel' + 'lo');
write(+0.0 + String(''));
write(+0.0 + String('hello'));
write(+0.0 + String('h' + 'ello'));
write(+0.0 + new String(''));
write(+0.0 + new String('hello'));
write(+0.0 + new String('he' + 'llo'));
write(+0.0 + new Object());
write(+0.0 + new Object());
write(+0.0 + [1, 2, 3]);
write(+0.0 + [1 ,2 , 3]);
write(+0.0 + new Array(3));
write(+0.0 + Array(3));
write(+0.0 + new Array(1 ,2 ,3));
write(+0.0 + Array(1));
write(+0.0 + foo);
write(1 + undefined);
write(1 + null);
write(1 + true);
write(1 + false);
write(1 + Boolean(true));
write(1 + Boolean(false));
write(1 + new Boolean(true));
write(1 + new Boolean(false));
write(1 + NaN);
write(1 + +0);
write(1 + -0);
write(1 + 0);
write(1 + 0.0);
write(1 + -0.0);
write(1 + +0.0);
write(1 + 1);
write(1 + 10);
write(1 + 10.0);
write(1 + 10.1);
write(1 + -1);
write(1 + -10);
write(1 + -10.0);
write(1 + -10.1);
write(1 + Number.MAX_VALUE);
write(1 + Number.MIN_VALUE);
write(1 + Number.NaN);
write(1 + Number.POSITIVE_INFINITY);
write(1 + Number.NEGATIVE_INFINITY);
write(1 + new Number(NaN));
write(1 + new Number(+0));
write(1 + new Number(-0));
write(1 + new Number(0));
write(1 + new Number(0.0));
write(1 + new Number(-0.0));
write(1 + new Number(+0.0));
write(1 + new Number(1));
write(1 + new Number(10));
write(1 + new Number(10.0));
write(1 + new Number(10.1));
write(1 + new Number(-1));
write(1 + new Number(-10));
write(1 + new Number(-10.0));
write(1 + new Number(-10.1));
write(1 + new Number(Number.MAX_VALUE));
write(1 + new Number(Number.MIN_VALUE));
write(1 + new Number(Number.NaN));
write(1 + new Number(Number.POSITIVE_INFINITY));
write(1 + new Number(Number.NEGATIVE_INFINITY));
write(1 + '');
write(1 + 0xa);
write(1 + 04);
write(1 + 'hello');
write(1 + 'hel' + 'lo');
write(1 + String(''));
write(1 + String('hello'));
write(1 + String('h' + 'ello'));
write(1 + new String(''));
write(1 + new String('hello'));
write(1 + new String('he' + 'llo'));
write(1 + new Object());
write(1 + new Object());
write(1 + [1, 2, 3]);
write(1 + [1 ,2 , 3]);
write(1 + new Array(3));
write(1 + Array(3));
write(1 + new Array(1 ,2 ,3));
write(1 + Array(1));
write(1 + foo);
write(10 + undefined);
write(10 + null);
write(10 + true);
write(10 + false);
write(10 + Boolean(true));
write(10 + Boolean(false));
write(10 + new Boolean(true));
write(10 + new Boolean(false));
write(10 + NaN);
write(10 + +0);
write(10 + -0);
write(10 + 0);
write(10 + 0.0);
write(10 + -0.0);
write(10 + +0.0);
write(10 + 1);
write(10 + 10);
write(10 + 10.0);
write(10 + 10.1);
write(10 + -1);
write(10 + -10);
write(10 + -10.0);
write(10 + -10.1);
write(10 + Number.MAX_VALUE);
write(10 + Number.MIN_VALUE);
write(10 + Number.NaN);
write(10 + Number.POSITIVE_INFINITY);
write(10 + Number.NEGATIVE_INFINITY);
write(10 + new Number(NaN));
write(10 + new Number(+0));
write(10 + new Number(-0));
write(10 + new Number(0));
write(10 + new Number(0.0));
write(10 + new Number(-0.0));
write(10 + new Number(+0.0));
write(10 + new Number(1));
write(10 + new Number(10));
write(10 + new Number(10.0));
write(10 + new Number(10.1));
write(10 + new Number(-1));
write(10 + new Number(-10));
write(10 + new Number(-10.0));
write(10 + new Number(-10.1));
write(10 + new Number(Number.MAX_VALUE));
write(10 + new Number(Number.MIN_VALUE));
write(10 + new Number(Number.NaN));
write(10 + new Number(Number.POSITIVE_INFINITY));
write(10 + new Number(Number.NEGATIVE_INFINITY));
write(10 + '');
write(10 + 0xa);
write(10 + 04);
write(10 + 'hello');
write(10 + 'hel' + 'lo');
write(10 + String(''));
write(10 + String('hello'));
write(10 + String('h' + 'ello'));
write(10 + new String(''));
write(10 + new String('hello'));
write(10 + new String('he' + 'llo'));
write(10 + new Object());
write(10 + new Object());
write(10 + [1, 2, 3]);
write(10 + [1 ,2 , 3]);
write(10 + new Array(3));
write(10 + Array(3));
write(10 + new Array(1 ,2 ,3));
write(10 + Array(1));
write(10 + foo);
write(10.0 + undefined);
write(10.0 + null);
write(10.0 + true);
write(10.0 + false);
write(10.0 + Boolean(true));
write(10.0 + Boolean(false));
write(10.0 + new Boolean(true));
write(10.0 + new Boolean(false));
write(10.0 + NaN);
write(10.0 + +0);
write(10.0 + -0);
write(10.0 + 0);
write(10.0 + 0.0);
write(10.0 + -0.0);
write(10.0 + +0.0);
write(10.0 + 1);
write(10.0 + 10);
write(10.0 + 10.0);
write(10.0 + 10.1);
write(10.0 + -1);
write(10.0 + -10);
write(10.0 + -10.0);
write(10.0 + -10.1);
write(10.0 + Number.MAX_VALUE);
write(10.0 + Number.MIN_VALUE);
write(10.0 + Number.NaN);
write(10.0 + Number.POSITIVE_INFINITY);
write(10.0 + Number.NEGATIVE_INFINITY);
write(10.0 + new Number(NaN));
write(10.0 + new Number(+0));
write(10.0 + new Number(-0));
write(10.0 + new Number(0));
write(10.0 + new Number(0.0));
write(10.0 + new Number(-0.0));
write(10.0 + new Number(+0.0));
write(10.0 + new Number(1));
write(10.0 + new Number(10));
write(10.0 + new Number(10.0));
write(10.0 + new Number(10.1));
write(10.0 + new Number(-1));
write(10.0 + new Number(-10));
write(10.0 + new Number(-10.0));
write(10.0 + new Number(-10.1));
write(10.0 + new Number(Number.MAX_VALUE));
write(10.0 + new Number(Number.MIN_VALUE));
write(10.0 + new Number(Number.NaN));
write(10.0 + new Number(Number.POSITIVE_INFINITY));
write(10.0 + new Number(Number.NEGATIVE_INFINITY));
write(10.0 + '');
write(10.0 + 0xa);
write(10.0 + 04);
write(10.0 + 'hello');
write(10.0 + 'hel' + 'lo');
write(10.0 + String(''));
write(10.0 + String('hello'));
write(10.0 + String('h' + 'ello'));
write(10.0 + new String(''));
write(10.0 + new String('hello'));
write(10.0 + new String('he' + 'llo'));
write(10.0 + new Object());
write(10.0 + new Object());
write(10.0 + [1, 2, 3]);
write(10.0 + [1 ,2 , 3]);
write(10.0 + new Array(3));
write(10.0 + Array(3));
write(10.0 + new Array(1 ,2 ,3));
write(10.0 + Array(1));
write(10.0 + foo);
write(10.1 + undefined);
write(10.1 + null);
write(10.1 + true);
write(10.1 + false);
write(10.1 + Boolean(true));
write(10.1 + Boolean(false));
write(10.1 + new Boolean(true));
write(10.1 + new Boolean(false));
write(10.1 + NaN);
write(10.1 + +0);
write(10.1 + -0);
write(10.1 + 0);
write(10.1 + 0.0);
write(10.1 + -0.0);
write(10.1 + +0.0);
write(10.1 + 1);
write(10.1 + 10);
write(10.1 + 10.0);
write(10.1 + 10.1);
write(10.1 + -1);
write(10.1 + -10);
write(10.1 + -10.0);
write(10.1 + -10.1);
write(10.1 + Number.MAX_VALUE);
write(10.1 + Number.MIN_VALUE);
write(10.1 + Number.NaN);
write(10.1 + Number.POSITIVE_INFINITY);
write(10.1 + Number.NEGATIVE_INFINITY);
write(10.1 + new Number(NaN));
write(10.1 + new Number(+0));
write(10.1 + new Number(-0));
write(10.1 + new Number(0));
write(10.1 + new Number(0.0));
write(10.1 + new Number(-0.0));
write(10.1 + new Number(+0.0));
write(10.1 + new Number(1));
write(10.1 + new Number(10));
write(10.1 + new Number(10.0));
write(10.1 + new Number(10.1));
write(10.1 + new Number(-1));
write(10.1 + new Number(-10));
write(10.1 + new Number(-10.0));
write(10.1 + new Number(-10.1));
write(10.1 + new Number(Number.MAX_VALUE));
write(10.1 + new Number(Number.MIN_VALUE));
write(10.1 + new Number(Number.NaN));
write(10.1 + new Number(Number.POSITIVE_INFINITY));
write(10.1 + new Number(Number.NEGATIVE_INFINITY));
write(10.1 + '');
write(10.1 + 0xa);
write(10.1 + 04);
write(10.1 + 'hello');
write(10.1 + 'hel' + 'lo');
write(10.1 + String(''));
write(10.1 + String('hello'));
write(10.1 + String('h' + 'ello'));
write(10.1 + new String(''));
write(10.1 + new String('hello'));
write(10.1 + new String('he' + 'llo'));
write(10.1 + new Object());
write(10.1 + new Object());
write(10.1 + [1, 2, 3]);
write(10.1 + [1 ,2 , 3]);
write(10.1 + new Array(3));
write(10.1 + Array(3));
write(10.1 + new Array(1 ,2 ,3));
write(10.1 + Array(1));
write(10.1 + foo);
write(-1 + undefined);
write(-1 + null);
write(-1 + true);
write(-1 + false);
write(-1 + Boolean(true));
write(-1 + Boolean(false));
write(-1 + new Boolean(true));
write(-1 + new Boolean(false));
write(-1 + NaN);
write(-1 + +0);
write(-1 + -0);
write(-1 + 0);
write(-1 + 0.0);
write(-1 + -0.0);
write(-1 + +0.0);
write(-1 + 1);
write(-1 + 10);
write(-1 + 10.0);
write(-1 + 10.1);
write(-1 + -1);
write(-1 + -10);
write(-1 + -10.0);
write(-1 + -10.1);
write(-1 + Number.MAX_VALUE);
write(-1 + Number.MIN_VALUE);
write(-1 + Number.NaN);
write(-1 + Number.POSITIVE_INFINITY);
write(-1 + Number.NEGATIVE_INFINITY);
write(-1 + new Number(NaN));
write(-1 + new Number(+0));
write(-1 + new Number(-0));
write(-1 + new Number(0));
write(-1 + new Number(0.0));
write(-1 + new Number(-0.0));
write(-1 + new Number(+0.0));
write(-1 + new Number(1));
write(-1 + new Number(10));
write(-1 + new Number(10.0));
write(-1 + new Number(10.1));
write(-1 + new Number(-1));
write(-1 + new Number(-10));
write(-1 + new Number(-10.0));
write(-1 + new Number(-10.1));
write(-1 + new Number(Number.MAX_VALUE));
write(-1 + new Number(Number.MIN_VALUE));
write(-1 + new Number(Number.NaN));
write(-1 + new Number(Number.POSITIVE_INFINITY));
write(-1 + new Number(Number.NEGATIVE_INFINITY));
write(-1 + '');
write(-1 + 0xa);
write(-1 + 04);
write(-1 + 'hello');
write(-1 + 'hel' + 'lo');
write(-1 + String(''));
write(-1 + String('hello'));
write(-1 + String('h' + 'ello'));
write(-1 + new String(''));
write(-1 + new String('hello'));
write(-1 + new String('he' + 'llo'));
write(-1 + new Object());
write(-1 + new Object());
write(-1 + [1, 2, 3]);
write(-1 + [1 ,2 , 3]);
write(-1 + new Array(3));
write(-1 + Array(3));
write(-1 + new Array(1 ,2 ,3));
write(-1 + Array(1));
write(-1 + foo);
write(-10 + undefined);
write(-10 + null);
write(-10 + true);
write(-10 + false);
write(-10 + Boolean(true));
write(-10 + Boolean(false));
write(-10 + new Boolean(true));
write(-10 + new Boolean(false));
write(-10 + NaN);
write(-10 + +0);
write(-10 + -0);
write(-10 + 0);
write(-10 + 0.0);
write(-10 + -0.0);
write(-10 + +0.0);
write(-10 + 1);
write(-10 + 10);
write(-10 + 10.0);
write(-10 + 10.1);
write(-10 + -1);
write(-10 + -10);
write(-10 + -10.0);
write(-10 + -10.1);
write(-10 + Number.MAX_VALUE);
write(-10 + Number.MIN_VALUE);
write(-10 + Number.NaN);
write(-10 + Number.POSITIVE_INFINITY);
write(-10 + Number.NEGATIVE_INFINITY);
write(-10 + new Number(NaN));
write(-10 + new Number(+0));
write(-10 + new Number(-0));
write(-10 + new Number(0));
write(-10 + new Number(0.0));
write(-10 + new Number(-0.0));
write(-10 + new Number(+0.0));
write(-10 + new Number(1));
write(-10 + new Number(10));
write(-10 + new Number(10.0));
write(-10 + new Number(10.1));
write(-10 + new Number(-1));
write(-10 + new Number(-10));
write(-10 + new Number(-10.0));
write(-10 + new Number(-10.1));
write(-10 + new Number(Number.MAX_VALUE));
write(-10 + new Number(Number.MIN_VALUE));
write(-10 + new Number(Number.NaN));
write(-10 + new Number(Number.POSITIVE_INFINITY));
write(-10 + new Number(Number.NEGATIVE_INFINITY));
write(-10 + '');
write(-10 + 0xa);
write(-10 + 04);
write(-10 + 'hello');
write(-10 + 'hel' + 'lo');
write(-10 + String(''));
write(-10 + String('hello'));
write(-10 + String('h' + 'ello'));
write(-10 + new String(''));
write(-10 + new String('hello'));
write(-10 + new String('he' + 'llo'));
write(-10 + new Object());
write(-10 + new Object());
write(-10 + [1, 2, 3]);
write(-10 + [1 ,2 , 3]);
write(-10 + new Array(3));
write(-10 + Array(3));
write(-10 + new Array(1 ,2 ,3));
write(-10 + Array(1));
write(-10 + foo);
write(-10.0 + undefined);
write(-10.0 + null);
write(-10.0 + true);
write(-10.0 + false);
write(-10.0 + Boolean(true));
write(-10.0 + Boolean(false));
write(-10.0 + new Boolean(true));
write(-10.0 + new Boolean(false));
write(-10.0 + NaN);
write(-10.0 + +0);
write(-10.0 + -0);
write(-10.0 + 0);
write(-10.0 + 0.0);
write(-10.0 + -0.0);
write(-10.0 + +0.0);
write(-10.0 + 1);
write(-10.0 + 10);
write(-10.0 + 10.0);
write(-10.0 + 10.1);
write(-10.0 + -1);
write(-10.0 + -10);
write(-10.0 + -10.0);
write(-10.0 + -10.1);
write(-10.0 + Number.MAX_VALUE);
write(-10.0 + Number.MIN_VALUE);
write(-10.0 + Number.NaN);
write(-10.0 + Number.POSITIVE_INFINITY);
write(-10.0 + Number.NEGATIVE_INFINITY);
write(-10.0 + new Number(NaN));
write(-10.0 + new Number(+0));
write(-10.0 + new Number(-0));
write(-10.0 + new Number(0));
write(-10.0 + new Number(0.0));
write(-10.0 + new Number(-0.0));
write(-10.0 + new Number(+0.0));
write(-10.0 + new Number(1));
write(-10.0 + new Number(10));
write(-10.0 + new Number(10.0));
write(-10.0 + new Number(10.1));
write(-10.0 + new Number(-1));
write(-10.0 + new Number(-10));
write(-10.0 + new Number(-10.0));
write(-10.0 + new Number(-10.1));
write(-10.0 + new Number(Number.MAX_VALUE));
write(-10.0 + new Number(Number.MIN_VALUE));
write(-10.0 + new Number(Number.NaN));
write(-10.0 + new Number(Number.POSITIVE_INFINITY));
write(-10.0 + new Number(Number.NEGATIVE_INFINITY));
write(-10.0 + '');
write(-10.0 + 0xa);
write(-10.0 + 04);
write(-10.0 + 'hello');
write(-10.0 + 'hel' + 'lo');
write(-10.0 + String(''));
write(-10.0 + String('hello'));
write(-10.0 + String('h' + 'ello'));
write(-10.0 + new String(''));
write(-10.0 + new String('hello'));
write(-10.0 + new String('he' + 'llo'));
write(-10.0 + new Object());
write(-10.0 + new Object());
write(-10.0 + [1, 2, 3]);
write(-10.0 + [1 ,2 , 3]);
write(-10.0 + new Array(3));
write(-10.0 + Array(3));
write(-10.0 + new Array(1 ,2 ,3));
write(-10.0 + Array(1));
write(-10.0 + foo);
write(-10.1 + undefined);
write(-10.1 + null);
write(-10.1 + true);
write(-10.1 + false);
write(-10.1 + Boolean(true));
write(-10.1 + Boolean(false));
write(-10.1 + new Boolean(true));
write(-10.1 + new Boolean(false));
write(-10.1 + NaN);
write(-10.1 + +0);
write(-10.1 + -0);
write(-10.1 + 0);
write(-10.1 + 0.0);
write(-10.1 + -0.0);
write(-10.1 + +0.0);
write(-10.1 + 1);
write(-10.1 + 10);
write(-10.1 + 10.0);
write(-10.1 + 10.1);
write(-10.1 + -1);
write(-10.1 + -10);
write(-10.1 + -10.0);
write(-10.1 + -10.1);
write(-10.1 + Number.MAX_VALUE);
write(-10.1 + Number.MIN_VALUE);
write(-10.1 + Number.NaN);
write(-10.1 + Number.POSITIVE_INFINITY);
write(-10.1 + Number.NEGATIVE_INFINITY);
write(-10.1 + new Number(NaN));
write(-10.1 + new Number(+0));
write(-10.1 + new Number(-0));
write(-10.1 + new Number(0));
write(-10.1 + new Number(0.0));
write(-10.1 + new Number(-0.0));
write(-10.1 + new Number(+0.0));
write(-10.1 + new Number(1));
write(-10.1 + new Number(10));
write(-10.1 + new Number(10.0));
write(-10.1 + new Number(10.1));
write(-10.1 + new Number(-1));
write(-10.1 + new Number(-10));
write(-10.1 + new Number(-10.0));
write(-10.1 + new Number(-10.1));
write(-10.1 + new Number(Number.MAX_VALUE));
write(-10.1 + new Number(Number.MIN_VALUE));
write(-10.1 + new Number(Number.NaN));
write(-10.1 + new Number(Number.POSITIVE_INFINITY));
write(-10.1 + new Number(Number.NEGATIVE_INFINITY));
write(-10.1 + '');
write(-10.1 + 0xa);
write(-10.1 + 04);
write(-10.1 + 'hello');
write(-10.1 + 'hel' + 'lo');
write(-10.1 + String(''));
write(-10.1 + String('hello'));
write(-10.1 + String('h' + 'ello'));
write(-10.1 + new String(''));
write(-10.1 + new String('hello'));
write(-10.1 + new String('he' + 'llo'));
write(-10.1 + new Object());
write(-10.1 + new Object());
write(-10.1 + [1, 2, 3]);
write(-10.1 + [1 ,2 , 3]);
write(-10.1 + new Array(3));
write(-10.1 + Array(3));
write(-10.1 + new Array(1 ,2 ,3));
write(-10.1 + Array(1));
write(-10.1 + foo);
write(Number.MAX_VALUE + undefined);
write(Number.MAX_VALUE + null);
write(Number.MAX_VALUE + true);
write(Number.MAX_VALUE + false);
write(Number.MAX_VALUE + Boolean(true));
write(Number.MAX_VALUE + Boolean(false));
write(Number.MAX_VALUE + new Boolean(true));
write(Number.MAX_VALUE + new Boolean(false));
write(Number.MAX_VALUE + NaN);
write(Number.MAX_VALUE + +0);
write(Number.MAX_VALUE + -0);
write(Number.MAX_VALUE + 0);
write(Number.MAX_VALUE + 0.0);
write(Number.MAX_VALUE + -0.0);
write(Number.MAX_VALUE + +0.0);
write(Number.MAX_VALUE + 1);
write(Number.MAX_VALUE + 10);
write(Number.MAX_VALUE + 10.0);
write(Number.MAX_VALUE + 10.1);
write(Number.MAX_VALUE + -1);
write(Number.MAX_VALUE + -10);
write(Number.MAX_VALUE + -10.0);
write(Number.MAX_VALUE + -10.1);
write(Number.MAX_VALUE + Number.MAX_VALUE);
write(Number.MAX_VALUE + Number.MIN_VALUE);
write(Number.MAX_VALUE + Number.NaN);
write(Number.MAX_VALUE + Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE + Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE + new Number(NaN));
write(Number.MAX_VALUE + new Number(+0));
write(Number.MAX_VALUE + new Number(-0));
write(Number.MAX_VALUE + new Number(0));
write(Number.MAX_VALUE + new Number(0.0));
write(Number.MAX_VALUE + new Number(-0.0));
write(Number.MAX_VALUE + new Number(+0.0));
write(Number.MAX_VALUE + new Number(1));
write(Number.MAX_VALUE + new Number(10));
write(Number.MAX_VALUE + new Number(10.0));
write(Number.MAX_VALUE + new Number(10.1));
write(Number.MAX_VALUE + new Number(-1));
write(Number.MAX_VALUE + new Number(-10));
write(Number.MAX_VALUE + new Number(-10.0));
write(Number.MAX_VALUE + new Number(-10.1));
write(Number.MAX_VALUE + new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE + new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE + new Number(Number.NaN));
write(Number.MAX_VALUE + new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE + new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE + '');
write(Number.MAX_VALUE + 0xa);
write(Number.MAX_VALUE + 04);
write(Number.MAX_VALUE + 'hello');
write(Number.MAX_VALUE + 'hel' + 'lo');
write(Number.MAX_VALUE + String(''));
write(Number.MAX_VALUE + String('hello'));
write(Number.MAX_VALUE + String('h' + 'ello'));
write(Number.MAX_VALUE + new String(''));
write(Number.MAX_VALUE + new String('hello'));
write(Number.MAX_VALUE + new String('he' + 'llo'));
write(Number.MAX_VALUE + new Object());
write(Number.MAX_VALUE + new Object());
write(Number.MAX_VALUE + [1, 2, 3]);
write(Number.MAX_VALUE + [1 ,2 , 3]);
write(Number.MAX_VALUE + new Array(3));
write(Number.MAX_VALUE + Array(3));
write(Number.MAX_VALUE + new Array(1 ,2 ,3));
write(Number.MAX_VALUE + Array(1));
write(Number.MAX_VALUE + foo);
write(Number.MIN_VALUE + undefined);
write(Number.MIN_VALUE + null);
write(Number.MIN_VALUE + true);
write(Number.MIN_VALUE + false);
write(Number.MIN_VALUE + Boolean(true));
write(Number.MIN_VALUE + Boolean(false));
write(Number.MIN_VALUE + new Boolean(true));
write(Number.MIN_VALUE + new Boolean(false));
write(Number.MIN_VALUE + NaN);
write(Number.MIN_VALUE + +0);
write(Number.MIN_VALUE + -0);
write(Number.MIN_VALUE + 0);
write(Number.MIN_VALUE + 0.0);
write(Number.MIN_VALUE + -0.0);
write(Number.MIN_VALUE + +0.0);
write(Number.MIN_VALUE + 1);
write(Number.MIN_VALUE + 10);
write(Number.MIN_VALUE + 10.0);
write(Number.MIN_VALUE + 10.1);
write(Number.MIN_VALUE + -1);
write(Number.MIN_VALUE + -10);
write(Number.MIN_VALUE + -10.0);
write(Number.MIN_VALUE + -10.1);
write(Number.MIN_VALUE + Number.MAX_VALUE);
write(Number.MIN_VALUE + Number.MIN_VALUE);
write(Number.MIN_VALUE + Number.NaN);
write(Number.MIN_VALUE + Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE + Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE + new Number(NaN));
write(Number.MIN_VALUE + new Number(+0));
write(Number.MIN_VALUE + new Number(-0));
write(Number.MIN_VALUE + new Number(0));
write(Number.MIN_VALUE + new Number(0.0));
write(Number.MIN_VALUE + new Number(-0.0));
write(Number.MIN_VALUE + new Number(+0.0));
write(Number.MIN_VALUE + new Number(1));
write(Number.MIN_VALUE + new Number(10));
write(Number.MIN_VALUE + new Number(10.0));
write(Number.MIN_VALUE + new Number(10.1));
write(Number.MIN_VALUE + new Number(-1));
write(Number.MIN_VALUE + new Number(-10));
write(Number.MIN_VALUE + new Number(-10.0));
write(Number.MIN_VALUE + new Number(-10.1));
write(Number.MIN_VALUE + new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE + new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE + new Number(Number.NaN));
write(Number.MIN_VALUE + new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE + new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE + '');
write(Number.MIN_VALUE + 0xa);
write(Number.MIN_VALUE + 04);
write(Number.MIN_VALUE + 'hello');
write(Number.MIN_VALUE + 'hel' + 'lo');
write(Number.MIN_VALUE + String(''));
write(Number.MIN_VALUE + String('hello'));
write(Number.MIN_VALUE + String('h' + 'ello'));
write(Number.MIN_VALUE + new String(''));
write(Number.MIN_VALUE + new String('hello'));
write(Number.MIN_VALUE + new String('he' + 'llo'));
write(Number.MIN_VALUE + new Object());
write(Number.MIN_VALUE + new Object());
write(Number.MIN_VALUE + [1, 2, 3]);
write(Number.MIN_VALUE + [1 ,2 , 3]);
write(Number.MIN_VALUE + new Array(3));
write(Number.MIN_VALUE + Array(3));
write(Number.MIN_VALUE + new Array(1 ,2 ,3));
write(Number.MIN_VALUE + Array(1));
write(Number.MIN_VALUE + foo);
write(Number.NaN + undefined);
write(Number.NaN + null);
write(Number.NaN + true);
write(Number.NaN + false);
write(Number.NaN + Boolean(true));
write(Number.NaN + Boolean(false));
write(Number.NaN + new Boolean(true));
write(Number.NaN + new Boolean(false));
write(Number.NaN + NaN);
write(Number.NaN + +0);
write(Number.NaN + -0);
write(Number.NaN + 0);
write(Number.NaN + 0.0);
write(Number.NaN + -0.0);
write(Number.NaN + +0.0);
write(Number.NaN + 1);
write(Number.NaN + 10);
write(Number.NaN + 10.0);
write(Number.NaN + 10.1);
write(Number.NaN + -1);
write(Number.NaN + -10);
write(Number.NaN + -10.0);
write(Number.NaN + -10.1);
write(Number.NaN + Number.MAX_VALUE);
write(Number.NaN + Number.MIN_VALUE);
write(Number.NaN + Number.NaN);
write(Number.NaN + Number.POSITIVE_INFINITY);
write(Number.NaN + Number.NEGATIVE_INFINITY);
write(Number.NaN + new Number(NaN));
write(Number.NaN + new Number(+0));
write(Number.NaN + new Number(-0));
write(Number.NaN + new Number(0));
write(Number.NaN + new Number(0.0));
write(Number.NaN + new Number(-0.0));
write(Number.NaN + new Number(+0.0));
write(Number.NaN + new Number(1));
write(Number.NaN + new Number(10));
write(Number.NaN + new Number(10.0));
write(Number.NaN + new Number(10.1));
write(Number.NaN + new Number(-1));
write(Number.NaN + new Number(-10));
write(Number.NaN + new Number(-10.0));
write(Number.NaN + new Number(-10.1));
write(Number.NaN + new Number(Number.MAX_VALUE));
write(Number.NaN + new Number(Number.MIN_VALUE));
write(Number.NaN + new Number(Number.NaN));
write(Number.NaN + new Number(Number.POSITIVE_INFINITY));
write(Number.NaN + new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN + '');
write(Number.NaN + 0xa);
write(Number.NaN + 04);
write(Number.NaN + 'hello');
write(Number.NaN + 'hel' + 'lo');
write(Number.NaN + String(''));
write(Number.NaN + String('hello'));
write(Number.NaN + String('h' + 'ello'));
write(Number.NaN + new String(''));
write(Number.NaN + new String('hello'));
write(Number.NaN + new String('he' + 'llo'));
write(Number.NaN + new Object());
write(Number.NaN + new Object());
write(Number.NaN + [1, 2, 3]);
write(Number.NaN + [1 ,2 , 3]);
write(Number.NaN + new Array(3));
write(Number.NaN + Array(3));
write(Number.NaN + new Array(1 ,2 ,3));
write(Number.NaN + Array(1));
write(Number.NaN + foo);
write(Number.POSITIVE_INFINITY + undefined);
write(Number.POSITIVE_INFINITY + null);
write(Number.POSITIVE_INFINITY + true);
write(Number.POSITIVE_INFINITY + false);
write(Number.POSITIVE_INFINITY + Boolean(true));
write(Number.POSITIVE_INFINITY + Boolean(false));
write(Number.POSITIVE_INFINITY + new Boolean(true));
write(Number.POSITIVE_INFINITY + new Boolean(false));
write(Number.POSITIVE_INFINITY + NaN);
write(Number.POSITIVE_INFINITY + +0);
write(Number.POSITIVE_INFINITY + -0);
write(Number.POSITIVE_INFINITY + 0);
write(Number.POSITIVE_INFINITY + 0.0);
write(Number.POSITIVE_INFINITY + -0.0);
write(Number.POSITIVE_INFINITY + +0.0);
write(Number.POSITIVE_INFINITY + 1);
write(Number.POSITIVE_INFINITY + 10);
write(Number.POSITIVE_INFINITY + 10.0);
write(Number.POSITIVE_INFINITY + 10.1);
write(Number.POSITIVE_INFINITY + -1);
write(Number.POSITIVE_INFINITY + -10);
write(Number.POSITIVE_INFINITY + -10.0);
write(Number.POSITIVE_INFINITY + -10.1);
write(Number.POSITIVE_INFINITY + Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY + Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY + Number.NaN);
write(Number.POSITIVE_INFINITY + Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY + Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY + new Number(NaN));
write(Number.POSITIVE_INFINITY + new Number(+0));
write(Number.POSITIVE_INFINITY + new Number(-0));
write(Number.POSITIVE_INFINITY + new Number(0));
write(Number.POSITIVE_INFINITY + new Number(0.0));
write(Number.POSITIVE_INFINITY + new Number(-0.0));
write(Number.POSITIVE_INFINITY + new Number(+0.0));
write(Number.POSITIVE_INFINITY + new Number(1));
write(Number.POSITIVE_INFINITY + new Number(10));
write(Number.POSITIVE_INFINITY + new Number(10.0));
write(Number.POSITIVE_INFINITY + new Number(10.1));
write(Number.POSITIVE_INFINITY + new Number(-1));
write(Number.POSITIVE_INFINITY + new Number(-10));
write(Number.POSITIVE_INFINITY + new Number(-10.0));
write(Number.POSITIVE_INFINITY + new Number(-10.1));
write(Number.POSITIVE_INFINITY + new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY + new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY + new Number(Number.NaN));
write(Number.POSITIVE_INFINITY + new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY + new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY + '');
write(Number.POSITIVE_INFINITY + 0xa);
write(Number.POSITIVE_INFINITY + 04);
write(Number.POSITIVE_INFINITY + 'hello');
write(Number.POSITIVE_INFINITY + 'hel' + 'lo');
write(Number.POSITIVE_INFINITY + String(''));
write(Number.POSITIVE_INFINITY + String('hello'));
write(Number.POSITIVE_INFINITY + String('h' + 'ello'));
write(Number.POSITIVE_INFINITY + new String(''));
write(Number.POSITIVE_INFINITY + new String('hello'));
write(Number.POSITIVE_INFINITY + new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY + new Object());
write(Number.POSITIVE_INFINITY + new Object());
write(Number.POSITIVE_INFINITY + [1, 2, 3]);
write(Number.POSITIVE_INFINITY + [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY + new Array(3));
write(Number.POSITIVE_INFINITY + Array(3));
write(Number.POSITIVE_INFINITY + new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY + Array(1));
write(Number.POSITIVE_INFINITY + foo);
write(Number.NEGATIVE_INFINITY + undefined);
write(Number.NEGATIVE_INFINITY + null);
write(Number.NEGATIVE_INFINITY + true);
write(Number.NEGATIVE_INFINITY + false);
write(Number.NEGATIVE_INFINITY + Boolean(true));
write(Number.NEGATIVE_INFINITY + Boolean(false));
write(Number.NEGATIVE_INFINITY + new Boolean(true));
write(Number.NEGATIVE_INFINITY + new Boolean(false));
write(Number.NEGATIVE_INFINITY + NaN);
write(Number.NEGATIVE_INFINITY + +0);
write(Number.NEGATIVE_INFINITY + -0);
write(Number.NEGATIVE_INFINITY + 0);
write(Number.NEGATIVE_INFINITY + 0.0);
write(Number.NEGATIVE_INFINITY + -0.0);
write(Number.NEGATIVE_INFINITY + +0.0);
write(Number.NEGATIVE_INFINITY + 1);
write(Number.NEGATIVE_INFINITY + 10);
write(Number.NEGATIVE_INFINITY + 10.0);
write(Number.NEGATIVE_INFINITY + 10.1);
write(Number.NEGATIVE_INFINITY + -1);
write(Number.NEGATIVE_INFINITY + -10);
write(Number.NEGATIVE_INFINITY + -10.0);
write(Number.NEGATIVE_INFINITY + -10.1);
write(Number.NEGATIVE_INFINITY + Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY + Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY + Number.NaN);
write(Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY + Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY + new Number(NaN));
write(Number.NEGATIVE_INFINITY + new Number(+0));
write(Number.NEGATIVE_INFINITY + new Number(-0));
write(Number.NEGATIVE_INFINITY + new Number(0));
write(Number.NEGATIVE_INFINITY + new Number(0.0));
write(Number.NEGATIVE_INFINITY + new Number(-0.0));
write(Number.NEGATIVE_INFINITY + new Number(+0.0));
write(Number.NEGATIVE_INFINITY + new Number(1));
write(Number.NEGATIVE_INFINITY + new Number(10));
write(Number.NEGATIVE_INFINITY + new Number(10.0));
write(Number.NEGATIVE_INFINITY + new Number(10.1));
write(Number.NEGATIVE_INFINITY + new Number(-1));
write(Number.NEGATIVE_INFINITY + new Number(-10));
write(Number.NEGATIVE_INFINITY + new Number(-10.0));
write(Number.NEGATIVE_INFINITY + new Number(-10.1));
write(Number.NEGATIVE_INFINITY + new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY + new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY + new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY + new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY + new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY + '');
write(Number.NEGATIVE_INFINITY + 0xa);
write(Number.NEGATIVE_INFINITY + 04);
write(Number.NEGATIVE_INFINITY + 'hello');
write(Number.NEGATIVE_INFINITY + 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY + String(''));
write(Number.NEGATIVE_INFINITY + String('hello'));
write(Number.NEGATIVE_INFINITY + String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY + new String(''));
write(Number.NEGATIVE_INFINITY + new String('hello'));
write(Number.NEGATIVE_INFINITY + new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY + new Object());
write(Number.NEGATIVE_INFINITY + new Object());
write(Number.NEGATIVE_INFINITY + [1, 2, 3]);
write(Number.NEGATIVE_INFINITY + [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY + new Array(3));
write(Number.NEGATIVE_INFINITY + Array(3));
write(Number.NEGATIVE_INFINITY + new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY + Array(1));
write(Number.NEGATIVE_INFINITY + foo);
write(new Number(NaN) + undefined);
write(new Number(NaN) + null);
write(new Number(NaN) + true);
write(new Number(NaN) + false);
write(new Number(NaN) + Boolean(true));
write(new Number(NaN) + Boolean(false));
write(new Number(NaN) + new Boolean(true));
write(new Number(NaN) + new Boolean(false));
write(new Number(NaN) + NaN);
write(new Number(NaN) + +0);
write(new Number(NaN) + -0);
write(new Number(NaN) + 0);
write(new Number(NaN) + 0.0);
write(new Number(NaN) + -0.0);
write(new Number(NaN) + +0.0);
write(new Number(NaN) + 1);
write(new Number(NaN) + 10);
write(new Number(NaN) + 10.0);
write(new Number(NaN) + 10.1);
write(new Number(NaN) + -1);
write(new Number(NaN) + -10);
write(new Number(NaN) + -10.0);
write(new Number(NaN) + -10.1);
write(new Number(NaN) + Number.MAX_VALUE);
write(new Number(NaN) + Number.MIN_VALUE);
write(new Number(NaN) + Number.NaN);
write(new Number(NaN) + Number.POSITIVE_INFINITY);
write(new Number(NaN) + Number.NEGATIVE_INFINITY);
write(new Number(NaN) + new Number(NaN));
write(new Number(NaN) + new Number(+0));
write(new Number(NaN) + new Number(-0));
write(new Number(NaN) + new Number(0));
write(new Number(NaN) + new Number(0.0));
write(new Number(NaN) + new Number(-0.0));
write(new Number(NaN) + new Number(+0.0));
write(new Number(NaN) + new Number(1));
write(new Number(NaN) + new Number(10));
write(new Number(NaN) + new Number(10.0));
write(new Number(NaN) + new Number(10.1));
write(new Number(NaN) + new Number(-1));
write(new Number(NaN) + new Number(-10));
write(new Number(NaN) + new Number(-10.0));
write(new Number(NaN) + new Number(-10.1));
write(new Number(NaN) + new Number(Number.MAX_VALUE));
write(new Number(NaN) + new Number(Number.MIN_VALUE));
write(new Number(NaN) + new Number(Number.NaN));
write(new Number(NaN) + new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) + new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) + '');
write(new Number(NaN) + 0xa);
write(new Number(NaN) + 04);
write(new Number(NaN) + 'hello');
write(new Number(NaN) + 'hel' + 'lo');
write(new Number(NaN) + String(''));
write(new Number(NaN) + String('hello'));
write(new Number(NaN) + String('h' + 'ello'));
write(new Number(NaN) + new String(''));
write(new Number(NaN) + new String('hello'));
write(new Number(NaN) + new String('he' + 'llo'));
write(new Number(NaN) + new Object());
write(new Number(NaN) + new Object());
write(new Number(NaN) + [1, 2, 3]);
write(new Number(NaN) + [1 ,2 , 3]);
write(new Number(NaN) + new Array(3));
write(new Number(NaN) + Array(3));
write(new Number(NaN) + new Array(1 ,2 ,3));
write(new Number(NaN) + Array(1));
write(new Number(NaN) + foo);
write(new Number(+0) + undefined);
write(new Number(+0) + null);
write(new Number(+0) + true);
write(new Number(+0) + false);
write(new Number(+0) + Boolean(true));
write(new Number(+0) + Boolean(false));
write(new Number(+0) + new Boolean(true));
write(new Number(+0) + new Boolean(false));
write(new Number(+0) + NaN);
write(new Number(+0) + +0);
write(new Number(+0) + -0);
write(new Number(+0) + 0);
write(new Number(+0) + 0.0);
write(new Number(+0) + -0.0);
write(new Number(+0) + +0.0);
write(new Number(+0) + 1);
write(new Number(+0) + 10);
write(new Number(+0) + 10.0);
write(new Number(+0) + 10.1);
write(new Number(+0) + -1);
write(new Number(+0) + -10);
write(new Number(+0) + -10.0);
write(new Number(+0) + -10.1);
write(new Number(+0) + Number.MAX_VALUE);
write(new Number(+0) + Number.MIN_VALUE);
write(new Number(+0) + Number.NaN);
write(new Number(+0) + Number.POSITIVE_INFINITY);
write(new Number(+0) + Number.NEGATIVE_INFINITY);
write(new Number(+0) + new Number(NaN));
